//默认table表头属性
const tableArrts = {
  data: [], //数据
  haspage: true, //是否分页
  stripe: true, //是否隔行变色
  border: true, //是否显示边框
  size: 'default', //表格尺寸 large / default /small
  fit: true, //列的宽度是否自撑开
  showHeader: true, //是否显示表头
  highlight: false,
  emptyText: '无数据', //空数据显示内容
  defaultExpandAll: false, //是否默认展开所有行 树状数据有效
  expandRowKeys: [], //默认展开的行 需要设置 row-key 属性才能使用，该属性为展开行的 keys 数组。
  currentRowKey: '', //当前行的 key，只写属性
  rowStyle: '', //行的 style 的回调方法，也可以使用一个固定的 Object 为所有行设置一样的 Style
  rowClassName: '', //行的 className 的回调方法，也可以使用字符串为所有行设置一个固定的 className
  cellClassName: '', //单元格的 className 的回调方法，也可以使用字符串为所有单元格设置一个固定的 className
  cellStyle: '', //单元格的 style 的回调方法，也可以使用一个固定的 Object 为所有单元格设置一样的 Style。
  headerRowClassName: '', //表头行的 className 的回调方法，也可以使用字符串为所有表头行设置一个固定的 className。
  headerRowStyle: '', //表头行的 style 的回调方法，也可以使用一个固定的 Object 为所有表头行设置一样的 Style。
  headerCellStyle: '', //	表头单元格的 style 的回调方法，也可以使用一个固定的 Object 为所有表头单元格设置一样的 Style。
  rowKey: 'rowIndex', //行数据的 Key，用来优化 Table 的渲染；一般用于tableTree
  defaultSort: '', //默认的排序列的 prop 和顺序。 它的 prop 属性指定默认的排序的列，order 指定默认排序的顺序
  tooltipEffect: 'dark', //提示框的展示位置 dark / light
  showSummary: false, //是否在表尾显示合计行
  sumText: '合计', //合计行第一列的文本
  summaryMethod: '', //自定义的合计计算方法
  spanMethod: '', //自定义的合计计算方法,
  selectOnIndeterminate: true, //在多选表格中，当仅有部分行被选中时，点击表头的多选框时的行为。 若为 true，则选中所有行；若为 false，则取消选择所有行
  indent: 16, //展示树形数据时，树节点的缩进
  lazy: false, //是否懒加载子节点数据
  load: '', //懒加载子节点数据的方法
  treeProps: '', //渲染嵌套数据的配置选项
  tableLayout: 'fixed', //设置表格单元、行和列的布局方式 fixed / auto
  scrollbarAlwaysOn: false, //总是显示滚动条
};
//默认cell样式
const column = {
  type: '', //对应列的类型。 如果设置了selection则显示多选框； 如果设置了 index 则显示该行的索引（从 1 开始计算）； 如果设置了 expand 则显示为一个可展开的按钮
  index: '', //如果设置了 type=index，可以通过传递 index 属性来自定义索引 number / function(index)
  label: '', //列的显示文字
  columnKey: '', //column 的 key， column 的 key， 如果需要使用 filter-change 事件，则需要此属性标识是哪个 column 的筛选条件
  prop: '', //对应列的字段名
  width: '', //列的宽度
  minWidth: '', //列的最小宽度
  fixed: '', //列的固定方向 left / right
  renderHeader: '', //列标题 Label 区域渲染使用的 Function
  sortable: 'false', //对应列是否可以排序， 如果设置为 'custom'，则代表用户希望远程排序，需要监听 Table 的 sort-change 事件
  sortMethod: '', //指定数据按照哪个属性进行排序，仅当sortable设置为true的时候有效。 应该如同 Array.sort 那样返回一个 Number
  sortBy: '', //指定数据按照哪个属性进行排序，仅当 sortable 设置为 true 且没有设置 sort-method 的时候有效。 如果 sort-by 为数组，则先按照第 1 个属性排序，如果第 1 个相等，再按照第 2 个排序，以此类推
  sortOrders: '', //array 数据在排序时所使用排序策略的轮转顺序，仅当 sortable 为 true 时有效。 需传入一个数组，随着用户点击表头，该列依次按照数组中元素的顺序进行排序
  resizable: 'false', //对应列是否可以通过拖动改变宽度（需要在 el-table 上设置 border 属性为真）
  formatter: '', //用来格式化内容function(row, column, cellValue, index)
  showOverflowTooltip: true, //当内容过长被隐藏时显示 tooltip
  align: 'center', //对齐方式 left / center / right
  headerAlign: 'left', //表头对齐方式， 若不设置该项，则使用表格的对齐方式  left / center / right
  className: '', //列的 className
  labelClassName: '', //列的 label 的 className
  selectable: '', //仅对 type=selection 的列有效，类型为 Function，Function 的返回值用来决定这一行的 CheckBox 是否可以勾选
  reserveSelection: '', //仅对  type=selection 的列有效， 请注意， 需指定 row-key 来让这个功能生效。
  filters: [], //数据过滤的选项， 数组格式，数组中的元素需要有 text 和 value 属性。 数组中的每个元素都需要有 text 和 value 属性。
  filterPlacement: '', //数据过滤的按钮位置， 可选值为 ['top', 'bottom']
  filterMultiple: true, //是否多选，仅在 filter-multiple=true 的时候有效
  filterMethod: '', //数据过滤使用的方法， 如果是多选的筛选项，对每一条数据会执行多次，任意一次返回 true 就会显示。function(value, row, column)
  filteredValue: [], //选中的数据过滤项，如果需要自定义表头过滤的渲染方式，可能会需要此属性。
};
//默认table分页信息
const pageInfo = {
  small: true, //是否小尺寸
  background: true, //是否显示背景
  pageSize: 10, //每页显示条目个数，支持 v-model 双向绑定
  defaultPageSize: 10, //每页显示条目数的初始值
  total: 0, //数据总数
  pageCount: 0, //总页数 total 和 page-count 设置任意一个就可以达到显示页码的功能；如果要支持 page-sizes 的更改，则需要使用 total 属性
  pagerCount: 7, //设置最大页码按钮数。 页码按钮的数量，当总页数超过该值时会折叠
  currentPage: 1, //当前页数，支持 v-model 双向绑定
  defaulturrentPage: 1, //当前页数的初始值
  layout: 'total, prev, pager, next, jumper,sizes', //分页控件的布局，可选值为 total、prev、pager、next、jumper
  pageSizes: [10, 50, 100, 200, 500], //每页显示条目数的选择项，支持 v-model 双向绑定
  popperClass: '', //每页显示个数选择器的下拉框类名
  prevText: '上一页', //替代图标显示的上一页文字
  nextText: '下一页', //替代图标显示的下一页文字
  disabled: false, //是否禁用
  hideOnSinglePage: true, //当只有一页时是否隐藏分页器
};

// 默认table表头样式
const headerCellStyle = ({ row, column, rowIndex, columnIndex }) => {
  let paramStyle = {
    backgroundColor: 'pink',
    background: '#eef1f6',
    color: '#606266',
    'text-align': 'center',
  };
  return paramStyle;
};
// 默认table行样式
const rowStyle = ({ row, rowIndex }) => {
  let paramStyle = {
    backgroundColor: '',
    color: '',
  };
  return paramStyle;
};

export default {
  tableArrts,
  column,
  pageInfo,
  headerCellStyle,
  rowStyle,
};
